{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from datetime import datetime\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n",
      "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6\n",
      "  return f(*args, **kwds)\n"
     ]
    }
   ],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers.recurrent import LSTM\n",
    "from keras.layers.core import Dense, Activation, Dropout"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "epochs = 3\n",
    "batch_size = 50"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Each training data point will be length 100-1,\n",
    "# since the last value in each sequence is the label\n",
    "sequence_length = 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def generate_model():\n",
    "\n",
    "    model = Sequential()\n",
    "\n",
    "    # First LSTM layer defining the input sequence length\n",
    "    model.add(LSTM(input_shape=(sequence_length-1, 1),\n",
    "                   units=32,\n",
    "                   return_sequences=True))\n",
    "    model.add(Dropout(0.2))\n",
    "\n",
    "    # Second LSTM layer with 128 units\n",
    "    model.add(LSTM(units=128,\n",
    "                   return_sequences=True))\n",
    "    model.add(Dropout(0.2))\n",
    "\n",
    "    # Third LSTM layer with 100 units\n",
    "    model.add(LSTM(units=100,\n",
    "                   return_sequences=False))\n",
    "    model.add(Dropout(0.2))\n",
    "\n",
    "    # Densely-connected output layer with the linear activation function\n",
    "    model.add(Dense(units=1))\n",
    "    model.add(Activation('linear'))\n",
    "\n",
    "    model.compile(loss='mean_squared_error', optimizer='rmsprop')\n",
    "    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def normalize(result):\n",
    "    result_mean = result.mean()\n",
    "    result_std = result.std()\n",
    "    result -= result_mean\n",
    "    result /= result_std\n",
    "    return result, result_mean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def prepare_data(data, train_start, train_end, test_start, test_end):\n",
    "    print(\"Length of Data\", len(data))\n",
    "\n",
    "    # training data\n",
    "    print(\"Creating training data...\")\n",
    "\n",
    "    result = []\n",
    "    for index in range(train_start, train_end - sequence_length):\n",
    "        result.append(data[index: index + sequence_length])\n",
    "    result = np.array(result)\n",
    "    result, result_mean = normalize(result)\n",
    "\n",
    "    print(\"Training data shape  : \", result.shape)\n",
    "\n",
    "    train = result[train_start:train_end, :]\n",
    "    np.random.shuffle(train)\n",
    "    X_train = train[:, :-1]\n",
    "    y_train = train[:, -1]\n",
    "\n",
    "    # test data\n",
    "    print(\"Creating test data...\")\n",
    "\n",
    "    result = []\n",
    "    for index in range(test_start, test_end - sequence_length):\n",
    "        result.append(data[index: index + sequence_length])\n",
    "    result = np.array(result)\n",
    "    result, result_mean = normalize(result)\n",
    "\n",
    "    print(\"Test data shape  : {}\".format(result.shape))\n",
    "\n",
    "    X_test = result[:, :-1]\n",
    "    y_test = result[:, -1]\n",
    "\n",
    "    print(\"Shape X_train\", np.shape(X_train))\n",
    "    print(\"Shape X_test\", np.shape(X_test))\n",
    "\n",
    "    X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))\n",
    "    X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))\n",
    "\n",
    "    return X_train, y_train, X_test, y_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def run(model=None, data=None):\n",
    "    global_start_time = time.time()\n",
    "\n",
    "    print('Loading data... ')\n",
    "    data_b = pd.read_csv('datasets/cpu-utilization/cpu-full-b.csv',\n",
    "                         parse_dates=[0], infer_datetime_format=True)\n",
    "    data = data_b['cpu'].as_matrix()\n",
    "\n",
    "    # train on first 700 samples and test on next 300 samples (test set has anomaly)\n",
    "    X_train, y_train, X_test, y_test = prepare_data(data, 0, 600, 400, 660)\n",
    "\n",
    "    if model is None:\n",
    "        model = generate_model()\n",
    "\n",
    "    try:\n",
    "        print(\"Training...\")\n",
    "        model.fit(\n",
    "                X_train, y_train,\n",
    "                batch_size=batch_size, epochs=epochs, validation_split=0.05)\n",
    "        print(\"Predicting...\")\n",
    "        predicted = model.predict(X_test)\n",
    "        print(\"Reshaping predicted\")\n",
    "        predicted = np.reshape(predicted, (predicted.size,))\n",
    "    except KeyboardInterrupt:\n",
    "        print(\"prediction exception\")\n",
    "        print('Training duration:{}'.format(time.time() - global_start_time))\n",
    "        return model, y_test, 0\n",
    "\n",
    "    try:\n",
    "        plt.figure(figsize=(20,8))\n",
    "        plt.plot(y_test[:len(y_test)], 'b', label='Observed')\n",
    "        plt.plot(predicted[:len(y_test)], 'g', label='Predicted')\n",
    "        plt.plot(((y_test - predicted) ** 2), 'r', label='Root-mean-square deviation')\n",
    "        plt.legend()\n",
    "        plt.show()\n",
    "    except Exception as e:\n",
    "        print(\"plotting exception\")\n",
    "        print(str(e))\n",
    "    print('Training duration:{}'.format(time.time() - global_start_time))\n",
    "\n",
    "    return model, y_test, predicted"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading data... \n",
      "Length of Data 660\n",
      "Creating training data...\n",
      "Training data shape  :  (500, 100)\n",
      "Creating test data...\n",
      "Test data shape  : (160, 100)\n",
      "Shape X_train (500, 99)\n",
      "Shape X_test (160, 99)\n",
      "Training...\n",
      "Train on 475 samples, validate on 25 samples\n",
      "Epoch 1/3\n",
      "475/475 [==============================] - 7s 14ms/step - loss: 0.4394 - val_loss: 0.4105\n",
      "Epoch 2/3\n",
      "475/475 [==============================] - 4s 8ms/step - loss: 0.2331 - val_loss: 0.3403\n",
      "Epoch 3/3\n",
      "475/475 [==============================] - 5s 10ms/step - loss: 0.1941 - val_loss: 0.3178\n",
      "Predicting...\n",
      "Reshaping predicted\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIEAAAHVCAYAAABmEeuHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl4VOX5//HPIQmEBNkRsSggomwJ\nEQKFL6gIRZQiKIqAu7XFigsoVana4lpRqQqKWtywv1pBUURxLeAGiBowIJsgiyyiBETIzIQlyfn9\n8TABJIFkzjZD3q/rynWSmZNznoSgzCf3fT+WbdsCAAAAAADA0a1K0AsAAAAAAACA9wiBAAAAAAAA\nKgFCIAAAAAAAgEqAEAgAAAAAAKASIAQCAAAAAACoBAiBAAAAAAAAKgFCIAAAAAAAgEqAEAgAAAAA\nAKASIAQCAAAAAACoBJL9vFn9+vXtpk2b+nlLAAAAAACAo9qCBQu22rbd4Ejn+RoCNW3aVDk5OX7e\nEgAAAAAA4KhmWdb35TmPdjAAAAAAAIBKgBAIAAAAAACgEiAEAgAAAAAAqAR8nQkEAAAAAEBQ9u7d\nq40bN2rXrl1BLwWISWpqqho3bqyUlJSYPp8QCAAAAABQKWzcuFHHHHOMmjZtKsuygl4OUCG2bWvb\ntm3auHGjmjVrFtM1aAcDAAAAAFQKu3btUr169QiAkJAsy1K9evUcVbIRAgEAAAAAKg0CICQypz+/\nhEAAAAAAAACVACEQAAAAAAA+2bhxo/r3768WLVqoefPmGj58uPbs2aNJkybphhtuCHp5h6hRo0bQ\nS4CLCIEAAAAAAPCBbdsaMGCAzj//fK1atUorV65UKBTSnXfe6cn9CgsLPbkuEhe7gwEAAAAAKp0R\nI6TcXHevmZUlPf542c/Pnj1bqampuvrqqyVJSUlJeuyxx9SsWTPdd9992rBhg7p3765Nmzbpsssu\n0+jRoxUOh3XxxRdr48aNKioq0t/+9jcNGjRICxYs0C233KJQKKT69etr0qRJatSokbp3766srCzN\nmTNH5513nl544QWtXbtWVapUUTgcVsuWLbVmzRqtX79e119/vfLy8pSWlqZnn31WLVu21Nq1a3XJ\nJZcoFAqpf//+7n6DEDhCIAAAAAAAfLB06VJ16NDhoMdq1qypE088UYWFhfryyy+1ZMkSpaWlqWPH\njvr973+v77//Xscff7zeeecdSdKOHTu0d+9e3XjjjZo+fboaNGigKVOm6M4779QLL7wgSdqzZ49y\ncnIkSQsXLtQnn3yis846SzNmzFDv3r2VkpKioUOH6plnnlGLFi30xRdfaNiwYZo9e7aGDx+u6667\nTldccYUmTJjg7zcIniMEAgAAAABUOoer2AlKr169VK9ePUnSgAEDNGfOHPXp00cjR47U7bffrr59\n++r000/XkiVLtGTJEvXq1UuSVFRUpEaNGpVcZ9CgQQe9P2XKFJ111lmaPHmyhg0bplAopHnz5mng\nwIEl5+3evVuSNHfuXL3++uuSpMsvv1y333675183/EMIBAAAAACAD1q3bq2pU6ce9NjOnTu1fv16\nJScnH7L9t2VZOuWUU7Rw4UK9++67uuuuu9SzZ09dcMEFatOmjT7//PNS75Oenl7yfr9+/XTHHXfo\n559/1oIFC9SjRw+Fw2HVrl1buWX0wzndhhzxi8HQAAAAAAD4oGfPnopEIvr3v/8tyVTwjBw5Uldd\ndZXS0tL0v//9Tz///LMKCgr05ptvqmvXrvrhhx+Ulpamyy67TLfeeqsWLlyoU089VXl5eSUh0N69\ne7V06dJS71mjRg117NhRw4cPV9++fZWUlKSaNWuqWbNmeu211ySZgdWLFi2SJHXt2lWTJ0+WJL38\n8stef0vgM0IgAAAAAAB8YFmWpk2bptdee00tWrTQKaecotTUVP3jH/+QJHXq1EkXXnihMjMzdeGF\nFyo7O1vffPONOnXqpKysLN1zzz266667VLVqVU2dOlW333672rVrp6ysLM2bN6/M+w4aNEj/+c9/\nDmoTe/nll/X888+rXbt2atOmjaZPny5JGjdunCZMmKCMjAxt2rTJ228IfGfZtu3bzbKzs+3ocCoA\nAAAAAPy0fPlytWrVKuhlAI6U9nNsWdYC27azj/S5VAIBAAAAALwzY4bUuLG0a1fQKwEqPUIgAAAA\nAIB3li6VNm2Stm0LeiVApUcIBAAAAADwTjh88BFAYAiBAAAAAADeIQQC4gYhEAAAAADAO4RAQNwg\nBAIAAAAAeIcQCIgbhEAAAAAAAO8QAh0kKSlJWVlZatu2rQYOHKhIJBLztT7++GP17dtXkvTWW29p\nzJgxZZ77yy+/6KmnnqrwPe6++26NHTs25jUivhACAQAAAAC8Ew05CIEkSdWrV1dubq6WLFmiqlWr\n6plnnjnoedu2VVxcXOHr9uvXT6NGjSrz+VhDIBxdkoNeAAAAAADgKBanlUAj3h+h3B9zXb1m1nFZ\nevycx8t9/umnn67Fixdr3bp16t27t377299qwYIFevfdd/Xtt99q9OjR2r17t5o3b64XX3xRNWrU\n0Pvvv68RI0YoLS1N3bp1K7nWpEmTlJOToyeffFI//fST/vznP2vNmjWSpKefflrjx4/X6tWrlZWV\npV69eumRRx7RI488oldffVW7d+/WBRdcoHvuuUeS9MADD+ill17SscceqxNOOEEdOnRw9fuE4BAC\nAQAAAAC8E6chUNAKCwv13nvv6ZxzzpEkrVq1Si+99JI6d+6srVu36v7779fMmTOVnp6uhx56SI8+\n+qhuu+02/elPf9Ls2bN18skna9CgQaVe+6abbtKZZ56padOmqaioSKFQSGPGjNGSJUuUm2uCrw8/\n/FCrVq3Sl19+Kdu21a9fP3366adKT0/X5MmTlZubq8LCQrVv354Q6ChCCAQAAAAA8E6chkAVqdhx\nU0FBgbKysiSZSqBrrrlGP/zwg5o0aaLOnTtLkubPn69ly5apa9eukqQ9e/aoS5cuWrFihZo1a6YW\nLVpIki677DJNnDjxkHvMnj1b//73vyWZGUS1atXS9u3bDzrnww8/1IcffqjTTjtNkhQKhbRq1Srl\n5+frggsuUFpamiTTZoajByEQAAAAAMA7cRoCBSU6E+jX0tPTS963bVu9evXSK6+8ctA5pX1erGzb\n1l//+ldde+21Bz3++OPBhGPwB4OhAQAAAADeiYY/oVCw60ggnTt31ty5c/Xdd99JksLhsFauXKmW\nLVtq3bp1Wr16tSQdEhJF9ezZU08//bQkqaioSDt27NAxxxyj/Pz8knN69+6tF154QaF9fy6bNm3S\nli1bdMYZZ+jNN99UQUGB8vPz9fbbb3v5pcJnhEAAAAAAAO9QCVRhDRo00KRJkzRkyBBlZmaWtIKl\npqZq4sSJ+v3vf6/27dvr2GOPLfXzx40bp48++kgZGRnq0KGDli1bpnr16qlr165q27atbr31Vp19\n9tm65JJL1KVLF2VkZOiiiy5Sfn6+2rdvr0GDBqldu3Y699xz1bFjR5+/enjJsm3bt5tlZ2fbOTk5\nvt0PAAAAABCgvXulqlXN+xddJL32WqDLWb58uVq1ahXoGgCnSvs5tixrgW3b2Uf6XCqBAAAAAADe\nOLD6h0ogIHCEQAAAAAAAb0Qi+98nBAICRwgEAAAAAPAGlUBAXCEEAgAAAAB4Ixr8pKQQAgFxgBAI\nAAAAAOCNaPBz7LGEQEAcIAQCAAAAAHiDEAiIK4RAAAAAAABvRIOfBg0IgfZJSkpSVlaW2rZtq/PO\nO0+//PJLTNdZt26d/vvf/7q8usqle/fuysnJielz+/Tpc8Q/u3/84x8Hffx///d/Md3LTYRAAAAA\nAABvHFgJtHu3VFQU7HriQPXq1ZWbm6slS5aobt26mjBhQkzXIQTar7Cw0Pd7vvvuu6pdu/Zhz/l1\nCDRv3jwvl1QuhEAAAAAAAG8cGAId+HE8GDFC6t7d3bcRIyq0hC5dumjTpk2SJNu2deutt6pt27bK\nyMjQlClTDvv4qFGj9NlnnykrK0uPPfbYIdfu3r27br75ZmVnZ6tVq1b66quvNGDAALVo0UJ33XVX\nyXn/+c9/1KlTJ2VlZenaa69V0b6g7rrrrlN2drbatGmj0aNHl5zftGlTjR49Wu3bt1dGRoZWrFhR\n6tc2atQotW7dWpmZmfrLX/4iSVq7dq26dOmijIwM3XXXXapRo4Yk6eOPP1bfvn1LPveGG27QpEmT\nJEn33nuvOnbsqLZt22ro0KGybbvk6xsxYoSys7M1btw45eXl6cILL1THjh3VsWNHzZ0795A1FRQU\naPDgwWrVqpUuuOACFRQUlDz34YcfqkuXLmrfvr0GDhyoUCik999/XwMHDiw558B1Nm3aVFu3bpUk\nnX/++erQoYPatGmjiRMnlnz9BQUFysrK0qWXXipJJV9vWX+mH3/8sbp3766LLrpILVu21KWXXlry\n9bol2dWrAQAAAAAQFYmY44EhUM2awa0njhQVFWnWrFm65pprJElvvPGGcnNztWjRIm3dulUdO3bU\nGWecoXnz5pX6+JgxYzR27FjNmDGjzHtUrVpVOTk5GjdunPr3768FCxaobt26at68uW6++WZt2bJF\nU6ZM0dy5c5WSkqJhw4bp5Zdf1hVXXKEHHnhAdevWVVFRkXr27KnFixcrMzNTklS/fn0tXLhQTz31\nlMaOHavnnnvuoPtu27ZN06ZN04oVK2RZVknb1PDhw3XdddfpiiuuKHcF1A033KC///3vkqTLL79c\nM2bM0HnnnSdJ2rNnT0k71yWXXKKbb75Z3bp10/r169W7d28tX778oGs9/fTTSktL0/Lly7V48WK1\nb99ekrR161bdf//9mjlzptLT0/XQQw/p0Ucf1R133KGhQ4cqHA4rPT1dU6ZM0eDBgw9Z4wsvvKC6\ndeuqoKBAHTt21IUXXqgxY8boySefVG5u7iHnl/VnLUlff/21li5dquOPP15du3bV3Llz1a1bt3J9\nr8qDEAgAAAAA4I0DZwId+HE8ePzxQG4brQ7ZtGmTWrVqpV69ekmS5syZoyFDhigpKUkNGzbUmWee\nqa+++qrMx2uWI0zr16+fJCkjI0Nt2rRRo0aNJEknnXSSNmzYoDlz5mjBggXq2LFjydqO3RfYvfrq\nq5o4caIKCwu1efNmLVu2rCQEGjBggCSpQ4cOeuONNw65b61atZSamqprrrlGffv2LamemTt3rl5/\n/XVJJtC5/fbbj/g1fPTRR3r44YcViUT0888/q02bNiUh0KBBg0rOmzlzppYtW1by8c6dOxUKhUqq\nbyTp008/1U033SRJyszMLPl65s+fr2XLlqlr166STLjUpUsXJScn65xzztHbb7+tiy66SO+8844e\nfvjhQ9Y4fvx4TZs2TZK0YcMGrVq1SvXq1Svzazrcn2mnTp3UuHFjSVJWVpbWrVtHCAQAAAAASADh\nsJSSIkVnp8RTCBSQ6EygSCSi3r17a8KECSXBhBNXX321vv76ax1//PF69913JUnVqlWTJFWpUqXk\n/ejHhYWFsm1bV155pR588MGDrrV27VqNHTtWX331lerUqaOrrrpKu3btKnk+eq2kpKSSeTy9e/fW\nTz/9pOzsbD333HP68ssvNWvWLE2dOlVPPvmkZs+eLUmyLOuQtScnJ6u4uLjk4+i9du3apWHDhikn\nJ0cnnHCC7r777oPWkZ6eXvJ+cXGx5s+fr9TU1Ap/72zbVq9evfTKK68c8tzgwYP15JNPqm7dusrO\nztYxxxxz0PMff/yxZs6cqc8//1xpaWnq3r37QWusqAP/nA78/rqFmUAAAAAAAG+Ew1J6unmLfgxJ\nUlpamsaPH69//vOfKiws1Omnn64pU6aoqKhIeXl5+vTTT9WpU6cyHz/mmGOUn59fcr0XX3xRubm5\nJQFQefTs2VNTp07Vli1bJEk///yzvv/+e+3cuVPp6emqVauWfvrpJ7333ntHvNYHH3yg3NxcPffc\ncwqFQtqxY4f69Omjxx57TIsWLZIkde3aVZMnT5YkvfzyyyWf26RJEy1btky7d+/WL7/8olmzZkna\n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\nH+dZAAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11d5d72b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training duration:20.784679174423218\n"
     ]
    }
   ],
   "source": [
    "model, y_test, predicted = run()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
